AES instruction set

Advanced Encryption Standard (AES) Instruction Set is an extension to the x86 instruction set architecture for microprocessors from Intel and AMD proposed by Intel in March 2008.[1] The purpose of the instruction set is to improve the speed of applications performing encryption and decryption using the Advanced Encryption Standard (AES).

VIA x86 CPUs use the proprietary PadLock engine for accelerated AES key handling instead.

Contents

New instructions

Instruction Description
AESENC Perform one round of an AES encryption flow
AESENCLAST Perform the last round of an AES encryption flow
AESDEC Perform one round of an AES decryption flow
AESDECLAST Perform the last round of an AES decryption flow
AESKEYGENASSIST Assist in AES round key generation
AESIMC Assist in AES Inverse Mix Columns
PCLMULQDQ Carryless multiply (CLMUL).[2]

CPUs and GPUs with AES instruction set

Performance

In AES-NI Performance Analyzed, Patrick Schmid and Achim Roos found, "... impressive results from a handful of applications already optimized to take advantage of Intel's AES-NI capability".[14] A performance analysis using the Crypto++ security library showed an increase in throughput from approximately 28.0 cycles per byte to 3.5 cycles per byte with AES/GCM versus a Pentium 4 with no acceleration.[15][16]

Software supporting AES instruction set

The following software supports the using of AES instruction set.

See also

References

  1. ^ "Intel Software Network". Intel. http://softwareprojects.intel.com/avx/. Retrieved 2008-04-05. 
  2. ^ "Carry-Less Multiplication". Intel. http://software.intel.com/en-us/articles/intel-carry-less-multiplication-instruction-and-its-usage-for-computing-the-gcm-mode/. 
  3. ^ http://www.anandtech.com/show/4083/the-sandy-bridge-review-intel-core-i5-2600k-i5-2500k-and-core-i3-2100-tested/2
  4. ^ http://ark.intel.com/compare/53415,63913,58667,53480,53481,53482,53483,53484,53485,53490,53491,53492,53416,53414
  5. ^ http://ark.intel.com/Product.aspx?id=52219
  6. ^ http://ark.intel.com/Product.aspx?id=53463
  7. ^ http://forum.notebookreview.com/windows-os-software/582628-aes-ni-support-truecrypt-sandy-bridge-problem.html
  8. ^ "Some products can support AES New Instructions with a Processor Configuration update, in particular, i7-2630QM/i7-2635QM, i7-2670QM/i7-2675QM, i5-2430M/i5-2435M, i5-2410M/i5-2415M. Please contact OEM for the BIOS that includes the latest Processor configuration update.". http://ark.intel.com/products/52224/Intel-Core-i5-2410M-Processor-%283M-Cache-2_30-GHz%29. 
  9. ^ http://ark.intel.com/search/advanced/?s=t&AESTech=true
  10. ^ "Following Instructions". AMD. November 22, 2010. http://blogs.amd.com/work/2010/11/22/following-instructions/. Retrieved 2011-01-04. 
  11. ^ "VIA Padlock Security Engine". VIA. unknown. http://www.via.com.tw/en/initiatives/padlock/hardware.jsp#aes. Retrieved 2011-11-14. 
  12. ^ "VIA Eden-N Processors". VIA. unknown. http://www.via.com.tw/en/products/processors/eden-n/. Retrieved 2011-11-14. 
  13. ^ "VIA C7 Processors". VIA. unknown. http://www.via.com.tw/en/products/processors/c7/. Retrieved 2011-11-14. 
  14. ^ P. Schmid and A. Roos (2010). "AES-NI Performance Analyzed". Tom's Hardware. http://www.tomshardware.com/reviews/clarkdale-aes-ni-encryption,2538.html. Retrieved 2010-08-10. 
  15. ^ T. Krovetz, W. Dai (2010). "How to get fast AES calls?". Crypto++ user group. http://groups.google.com/group/cryptopp-users/msg/a688203c2314ef08. Retrieved 2010-08-11. 
  16. ^ "Crypto++ 5.6.0 Pentium 4 Benchmarks". Crypto++ Website. 2009. http://www.cryptopp.com/benchmarks-p4.html. Retrieved 2010-08-10. 
  17. ^ "Information Security Corp., Cryptographic Development Kits (CDKs)". http://www.infoseccorp.com/products/cdk/contents.htm. 
  18. ^ "Intel Advanced Encryption Standard Instructions (AES-NI)". Intel. March 2, 2010. http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/. Retrieved 2010-07-11. 
  19. ^ "Mac OS X 10.7 Lion: the Ars Technica review". Ars Technica. 2011-07-20. http://arstechnica.com/apple/reviews/2011/07/mac-os-x-10-7.ars/13. Retrieved 2012-01-03. 
  20. ^ "FreeBSD 8.2 Release Notes". FreeBSD.org. 2011-02-24. http://www.freebsd.org/releases/8.2R/relnotes.html. Retrieved 2011-12-18. 
  21. ^ "The OpenBSD 4.8 Release". OpenBSD.org. November 1, 2010. http://www.openbsd.org/48.html. Retrieved 2010-11-10. 
  22. ^ "The OpenBSD 4.9 Release". OpenBSD.org. May 1, 2011. http://www.openbsd.org/49.html. Retrieved 2011-05-01. 
  23. ^ "[PATCH] Add Intel AES-NI support for 1.0.0 branch". David Woodhouse (Intel). September 25, 2009. http://rt.openssl.org/Ticket/Display.html?id=2065&user=guest&pass=guest. Retrieved 2010-10-30. 
  24. ^ "Transparent Data Encryption". Oracle. January 17, 2011. http://www.oracle.com/technetwork/database/options/advanced-security/index-099011.html. Retrieved 2011-01-17. 
  25. ^ "Information Security Corp., SecretAgent 6". http://www.infoseccorp.com/products/secretagent/contents.htm. 
  26. ^ "SecureDoc Full Disk Encryption". April 8, 2011. http://www.winmagic.com/products/full-disk-encryption. 
  27. ^ "Solaris Cryptographic Framework". Oracle. September 6, 2010. http://www.sun.com/bigadmin/features/articles/crypt_framework.jsp. Retrieved 2010-09-06. 

External links